package com.oa.notice.domain;

import com.oa.common.annotation.Excel;
import com.oa.common.core.domain.BaseEntity;
import com.oa.common.core.domain.entity.SysUser;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 通知公告对象 oa_notice
 * 
 * @author li.ziye
 * @date 2022-05-11
 */
public class OaNotice extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 公告ID */
    private Long noticeId;

    /** 公告标题 */
    @Excel(name = "公告标题")
    private String noticeTitle;

    /** 公告内容 */
    @Excel(name = "公告内容")
    private String noticeContent;

    /** 公告类型（1通知 2公告） */
    @Excel(name = "公告类型", readConverterExp = "1=通知,2=公告")
    private String noticeType;

    /** 紧急类型 */
    @Excel(name = "紧急类型")
    private String noticeUrgency;

    /** 阅读状态（0未读 1已读） */
    @Excel(name = "阅读状态", readConverterExp = "0=未读,1=已读")
    private String readStatus;

    /** 公告状态（0正常 1关闭） */
    @Excel(name = "公告状态", readConverterExp = "0=正常,1=关闭")
    private String status;

    /** 接收人id */
    @Excel(name = "接收人id")
    private String receiverId;

    /** 发送人id */
    @Excel(name = "发送人id")
    private Long senderId;

    /** 发送人 */
    @Excel(name = "发送人")
    private SysUser sender;

    /** 接收人 */
    @Excel(name = "接收人")
    private SysUser receiver;

    /** 接收人组 */
    private Long[] receiverIds;

    public void setNoticeId(Long noticeId) 
    {
        this.noticeId = noticeId;
    }

    public Long getNoticeId() 
    {
        return noticeId;
    }
    public void setNoticeTitle(String noticeTitle) 
    {
        this.noticeTitle = noticeTitle;
    }

    public String getNoticeTitle() 
    {
        return noticeTitle;
    }
    public void setNoticeContent(String noticeContent) 
    {
        this.noticeContent = noticeContent;
    }

    public String getNoticeContent() 
    {
        return noticeContent;
    }
    public void setNoticeType(String noticeType) 
    {
        this.noticeType = noticeType;
    }

    public String getNoticeType() 
    {
        return noticeType;
    }
    public void setNoticeUrgency(String noticeUrgency) 
    {
        this.noticeUrgency = noticeUrgency;
    }

    public String getNoticeUrgency() 
    {
        return noticeUrgency;
    }
    public void setReadStatus(String readStatus) 
    {
        this.readStatus = readStatus;
    }

    public String getReadStatus() 
    {
        return readStatus;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public String getReceiverId() {
        return receiverId;
    }

    public void setReceiverId(String receiverId) {
        this.receiverId = receiverId;
    }

    public void setSenderId(Long senderId)
    {
        this.senderId = senderId;
    }

    public Long getSenderId() 
    {
        return senderId;
    }

    public SysUser getSender() {
        return sender;
    }

    public void setSender(SysUser sender) {
        this.sender = sender;
    }

    public SysUser getReceiver() {
        return receiver;
    }

    public void setReceiver(SysUser receiver) {
        this.receiver = receiver;
    }

    public Long[] getReceiverIds() {
        return receiverIds;
    }

    public void setReceiverIds(Long[] receiverIds) {
        this.receiverIds = receiverIds;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("noticeId", getNoticeId())
            .append("noticeTitle", getNoticeTitle())
            .append("noticeContent", getNoticeContent())
            .append("noticeType", getNoticeType())
            .append("noticeUrgency", getNoticeUrgency())
            .append("readStatus", getReadStatus())
            .append("status", getStatus())
            .append("receiverId", getReceiverId())
            .append("senderId", getSenderId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("sender", getSender())
            .append("receiver", getReceiver())
            .append("remark", getRemark())
            .append("receivers", getReceiverIds())
            .toString();
    }
}
